Information processor and method of information processing

ABSTRACT

An information processor and a method of information processing enables a write once type disc to be used as a rewritable recording medium. There can be realized an address control mechanism wherein even if the physical recording position is changed, the logical address of the same block is not changed by controlling the physical recording position on the recording medium on an imaginary address space in correspondence to the logical address. Thus the write once type recording medium can be realized as a rewritable recording medium.

TECHNICAL FIELD

The present invention relates to an information processor and a methodof information processing, and more particularly to an informationprocessor and a method of information processing wherein information isrecorded on, for example, a write-once type disc-like recording medium.

BACKGROUND ART

Conventionally, as a large volume data recording medium, a read onlymedium which is called a CD-ROM (Compact Disc-Read Only Memory) isavailable. There is available a write-once type disc-like recordingmedium called Compact Disc-Recordable (CD-R) in which data can berecorded only once by forming a recording layer on the CD-ROM.

This CD-R can be played back by using a conventional CD-ROM drive sothat all the data is recorded and prepared, for example, on a hard discwith the result that the CD-R in which writing is completed can be usedas a CD (Compact Disc) by writing all the data in the CD-R.

By the way, since the CD-R having such a constitution can be writtenonly once, it is difficult to rewrite the data in an area where data iswritten once in the same area so that it is difficult to use the CD-R asa rewritable recording medium like a so-called floppy disc.

The present invention has been made in view of the aforementioned point,and the invention is intended to provide an information processor and amethod of information processing wherein the write-once type recordingmedium can be used in such a manner that the medium can serve as arewritable recording medium.

DISCLOSURE OF THE INVENTION

The present invention comprises file information table generating meansfor generating a plurality of file information tables for housing aplurality of correspondence information items showing a correspondencerelation between key information for designating each file data and thephysical position thereof on a medium of file data designated by the keyinformation, index table generating means for generating an index tableshowing file information tables respectively housing each of the keyinformation out of the plurality of file information tables, controltable generating means for generating a table corresponding to theplurality of file information items and a control table showing aphysical recording position on the medium on the index table, memorymeans for temporarily recording the file information tables, the indextable and the control table, recording means for recording on the mediumthe file data, the file information tables, the index table and thecontrol table, control means for housing key information of the filedata in either one of the file information tables in the memory,renewing the housed file information tables and the control table in thememory, and allowing the recording means to record file data on themedium to record at a new recording position of the medium the housedfile information tables and the control table at the time of recordingthe file data on the medium.

Furthermore, the invention is constituted to allow the control means tohouse the key information of the file data in new file information,renew housed file information tables, the control table and the indextable in the memory, record with recording means the file data on themedium thereby recording the housed file information tables, the controltable and the index table at a new recording position of the medium inthe case where the new file information table is generated in the memoryby the file information generating means at the time of recording thefile data.

Furthermore, the invention allows the control means to house the keyinformation of the file data in either one of the file informationtables so that the number of correspondence relations respectivelyhoused in the plurality of file information corresponding tables becomesapproximately equal.

Furthermore, the invention allows the control means to house the keyinformation of the file data in either one of the file informationtables in a B star-tree algorithm.

Furthermore, the invention uses a sequence number and a block numberwhich are peculiarly attached to respective file data items as theaforementioned key information.

Furthermore, the invention uses a write-once type recording medium asthe medium.

Furthermore, the invention allows the control means to arrange thesequence number in an ascending order in the memory, sequentially assignthe address of the physical position on the medium in an arranged order,and renew the housed file information tables in the memory in the casewhere the sequence number which is the key information exists inplurality.

Furthermore, the invention allows the control means to control therecording means to record the renewed file information tables and therenewed control table at a new recording position of the medium afterthe file data is recorded on the medium.

Furthermore, the invention is constituted so that when theaforementioned recording means fails in recording the file data on themedium, the control means houses the key information of the file datawhich is failed in recording in either one of the file informationtables and the housed file information table and the control table arerenewed in the memory so that the file data which is failed in recordingis recorded with the recording means so that the housed file informationtables and the control table are recorded on a new recording position ofthe medium.

Furthermore, the invention comprises the steps of: generating aplurality of file information tables for housing a plurality ofcorresponding information items designating a correspondence relationbetween the key information for designating each file data and thephysical position of the file data on the medium; generating an indextable designating a file information table which houses each keyinformation item; generating a control table designating a physicalrecording position of the plurality of file information correspondingtables and the index table on the medium; temporarily recording the filedata, the file information tables, the index table, and the controltable; housing the key information of the file data in either one of thefile information tables in the memory; renewing the housed fileinformation tables and the control table in the memory and recording thefile data on the medium with the recording means thereby recording thehoused file information tables and the control table at a new recordingposition of the medium.

According to the invention, there can be realized an address controlmechanism which does not change the logic address of the same block evenwhen the physical recording position is changed by controlling thephysical recording position on the medium in correspondence to the logicaddress in the space of the imaginary address in the memory. Thus, thewrite-once type recording medium can be treated as a rewritablerecording medium.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing an overall structure of a CD-R discdevice according to the present invention.

FIG. 2 is a block diagram showing a structure of a CDRFS according tothe present invention.

FIG. 3 is schematic diagram dedicated for the illustration of thecontrol of a plurality of address spaces by means of a sequence managerSQM.

FIG. 4 is a schematic diagram dedicated for the illustration of thecontrol mechanism by means of the B star-tree.

FIG. 5 is a schematic diagram dedicated for the illustration of thecontrol mechanism by means of the B star-tree.

FIG. 6 is a schematic view showing a correspondence table by means of anextent.

FIG. 7 is a schematic view showing a node table.

FIG. 8 is a schematic view dedicated for the explanation of a maximumnumber of the block number.

FIGS. 9(A) and 9(B) are schematic views dedicated for the illustrationof the renewal of the data bloc.

FIG. 10 is a flowchart dedicated for the illustration of a flashoperation.

FIGS. 11(A) to 11(D) are schematic views showing a logical structure ofa CD-R disc.

FIG. 12 is a schematic view showing an FVD structure.

FIG. 13 is a schematic view showing a structure of a super bloc.

FIG. 14 is a schematic view showing a structure of a super block listentry.

FIG. 15 is a schematic view showing a structure of a dug entry.

FIG. 16 is a schematic view showing a structure of a node table.

FIG. 17 is a schematic view showing a B star-tree index node.

FIG. 18 is a schematic view showing a structure of an index code.

FIG. 19 is a schematic view showing a structure of a sequence Bstar-tree leaf node.

FIG. 20 is schematic view showing a structure of an extent record.

FIG. 21 is a schematic view showing a structure of a directory Bstar-tree leaf node.

FIG. 22 is a schematic view showing a structure of a directory recordarea.

FIG. 23 is a schematic view showing a structure of a directory record.

FIG. 24 is a schematic view showing a structure of a directory record.

FIG. 25 is a schematic view dedicated for the illustration of the kindof type.

FIG. 26 is a schematic view showing a structure of a file directorycode.

FIG. 27 is a schematic view showing a structure of a directory record.

FIG. 28 is a schematic view showing a structure of a link directoryrecord.

FIG. 29 is a flowchart showing a flash all operation.

FIGS. 30(A) to 30(C) are a schematic view dedicated for the illustrationof a rewriting operation.

FIG. 31 is a flowchart showing a processing procedure for monitoring arecordable remaining amount of a medium.

FIG. 32 is a schematic view dedicated for the illustration in the casewhere the imaginary address space is treated without a correspondence toeach file.

BEST MODE FOR EMBODYING THE INVENTION

In FIG. 1, reference numeral 1 denotes a CD-R disc device as a wholecomprising an information processor 4 for processing data to be writtenon the CD-R disc DISC or data read from the CD-R disc DISC, a display 2comprising a cathode ray tube or a liquid crystal display device forsupplying processed data, processing state of the information processorto the user, input device 3 comprising a keyboard for entering data tothe information processor 4, and a CD-R drive device 5 for writing andreading data to the CD-R disc DISC.

The information processor 4 has respectively a CPU (Central ProcessingUnit) 6 for controlling an operation of a system as a whole, a RAM(Random Access Memory) 7, a ROM (Read Only Memory) 8 in which basicprogram is housed required for the operation of the CPU 6, an I/Ocircuit 9 for outputting information to the display 2, an I/O circuit 10for fetching information from the input device 3, a hard disc drive(HDD) 11 for accessing a hard disc in which each kind of program ishoused, an interface circuit (I/F) 12 for accessing the HDD 11, aninterface circuit (I/F) 12 for accessing the CD-R drive 5. Incidentally,the RAM 7 includes a cash buffer function in addition to a simple memoryfunction.

In the information processor 4 having such a structure, the CPU 6 readsthe program of the file system (CDRFS: Compact Disc Recordable FileSystem) for the CD-R via an interface (I/F) 12 from the hard disc 11 onthe basis of a program memorized in the ROM 8 and stores the program inthe RAM 7. Then the CPU 6 starts up the system by actuating the CDRFSwhich is read.

When the data is recorded in the CD-R disc DISC with respect to the CD-Rdisc device 1 which has been started up, the CPU 6 converts the dataprepared by the user into blocs in a predetermined format so that thedata is sent to the CD-R drive via the interface circuit 13 while at thesame time giving a writing instruction to the CD-R drive 5. The CD-Rdrive 5 which accepts the instruction records the accepted datasubsequently to the CD-R DISC in the data unit of writing which isreferred to as packet.

In addition, when the data recorded in the CD-R disc DISC is read, theCPU 6 in the information processor 4 gives a reading instruction to theCD-R drive 5 via the interface circuit 13. The CD-R drive 5 whichaccepts the instruction accesses the CD-R disc DISC to read data whichis recorded in packet and sends the data to the RAM 7 via the interfacecircuit 13.

FIG. 2 shows an overall structure of a software SW which looks like arecordable recording medium to the user. An instruction from the userinput via the I/O is interpreted in the application software AP and inthe operating system OS, and the instruction is delivered to the filemanager FLM of the file system CDRFS for use in the CD-R.

The file system CDRFS comprises a file manager FLM which constitutes anupper layer part and an imaginary device manager IMM which constitutes alower layer part. The file manager FLM controls the directory and thefiles. Consequently, when a file overwriting command is delivered to thefile manager FLM from the operating system OS, a corresponding imaginaryaddress space is designated which is formed in the imaginary devicemanager IMM on the basis of the file name designated by the instruction.

Here, the imaginary manager IMM provides a plurality of imaginaryaddress spaces CVx (CV1, CV2, CV3, . . . ) to the file manager FLM asshown in FIG. 3. Each of the imaginary address spaces CVx comprises adata block line comprising a single data bloc or a plurality of datablocs. This data block line is referred to as a sequence, andcorresponds to each file controlled by the file manager FLM.Consequently, the file manager FLM designates an imaginary address spaceCVx of the target file by designating the sequence number to theimaginary device manager IMM. At this time, the file manager FLM candesignate the imaginary address space CVx in block units with a 64-bitlong logic address which is referred to as the sequence key SQK (FIG.2).

In other words, the imaginary device manager IMM is constituted so thateach imaginary address space CVx is controlled with the sequence keySQK, and 32 bits in the upper place of the sequence key SQK are assignedwith a sequence number peculiar to the imaginary address space CVx, and32 bits in the lower place constitute a sequence block number fordesignating a block BLK (FIG. 3) in a sequence (an imaginary addressspace) designated in 32 bits in the upper place. Consequently, the blocknumber (namely, the block number which can be held by each imaginaryaddress space CVx) which can be controlled with the sequence blocknumber is 2³² blocks per one imaginary address space (one sequence).Each block BLK is 2048 blocks in agreement with the CD-R disc format sothat the imaginary device manager IMM can control even device having asize of 8 tera bytes as the upper limit as one sequence (namely, onefile).

In this manner, the imaginary device manager IMM is constituted so thateach imaginary address space CVx constitutes a file by providing eachimaginary address space CVx in correspondence to the file. Consequently,the imaginary address space IMM can immediately access to the filewithout executing a complicated procedure in which the file position isconverted into a logical address to be searched when the file isdesignated.

Thus, when a logical address which directly corresponds to the filerepresented in the 64 bit long sequence key SQK from the file managerFLM is delivered to the imaginary device manager IMM, the sequencemanager SQK of imaginary device manager IMM (FIG. 2) corresponds thelogical address represented by the sequence key SQK to the physicaladdress on the CD-R disc by using the searching method by means of themultiway tree called B star tree.

In other words, the B star tree of the sequence manager SQK has a treestructure as shown in FIG. 4, and comprises an index node as anintermediate node (branch) and leaf nodes E, F and G having an extent(EXTx) designating a correspondence between the logical address and thephysical address.

Each of the leaf nodes E, F and G stores a single sequence key SQM and aplurality of sequence keys SQK in the sequence order designating arelation between the logical address and the physical address LBAdesignated by the sequence key SQK. In other words, the extent EXTxcontrols as one unit a block line in which the sequence SQK iscontinuously arranged at the physical position on the CD-R disc. Theextent EXTx comprises the sequence SQK in the front block and thephysical address LBA corresponding to the sequence SQK and a length. Thelength represents a continuous physical address LBA block numberrepresented by the extent EXTx with the physical address placed at thefront thereof. Consequently, for example, when the extent EXTx isrepresented by (0,0 56 5), the physical address LBA on the CD-R disccorresponding to the sequence key SQK (logical address) which isreferred to as 0,0 is 56, which represents that the data represented bythe extent continues 5 blocks with the physical address LBA (=56) placedat the front on the CD-R disc.

The 5 data blocks controlled by this one element EXTx is written on aphysical area which continues on the CD-R disc so that it is possible toavoid an increase in the number of extent EXTx which constitutes anelement of an address conversion table of the logical address and thephysical address by recording data of the same file on the continuousphysical address LBA. In actuality, when an attention is paid to thefact that the probability is high that the same file is processed in acontinuous manner, the block of the continuous sequence SQK iscontinuously written on the physical position on the CD-R disc with theresult that the number of the extent EXTx itself can be reduced whichserves as an element constituting a control structure of the sequencemanager SQM. For example, when the extent EXTx is (0,0 56 5), the data(for example, two blocs) having the same sequence number (file) iscontinuously written, the extent EXTx (0,0 56 7) is provided with theresult that the extent EXTx as the control data does not increase.

In FIG. 4, in the extent node D constituting the intermediate node ofthe B star-tree, the sequence key SQK (key 1, key 2, key 3 . . . ) ofeach front extent information of each of the corresponding leaf nodes E,F or G is housed together with the node number. When the sequence keys(key 1, key 2, key 3 . . . ) are designated, the corresponding leafnodes E, F or G are read from the physical address on the CD-R disc byreferring to the node table (FIG. 5).

Consequently, the sequence manager SQM searches from the index node whenthe sequence key SQK is designated the front key (sequence key SQM) in arange in which the sequence key SQM is included. For example, when thetarget sequence key SQM is a value between the first sequence key key 1and the second sequence key key 2 housed in the index node D, thesequence manager SQM selects the leaf nodes E, F and G starting from theextent EXT 11 having the first sequence key SQK key 1 so that the insideof the leaf node is sequentially searched. In this manner, a pluralityof extent nodes EXTx in each of the leaf nodes E, F and G are capable ofsearching the physical address of the data line designated by thedesired sequence key easily by using the method of the B star tree.

For reference, FIG. 5 shows a searching method by means of the real Bstar tree so that the physical address LBA (H, I, J, . . . ) on thetarget CD-R disc is searched from the super block (referred to as SVD),the node table (Node Table) B, the index node D and leaf nodes E, F andG which are recorded on the CD-R disc. In other words, the sequencemanager SQM refers to the node table B on the CD-R disc on the basis ofthe physical address on the node table B which is recorded on the superbloc. At the same time, the sequence manager SQM creates a physicaladdress LBA of the index node from the node number of the node table Bdesignated by the root node number which is recorded on the super bloc.As a consequence, the sequence manager SQM can refer to the index node Don the CD-R disc so that the node number corresponding to the desiredsequence key in the index node as described above with respect to FIG.4. In this index node D, the node number corresponding to the sequencekey SQK is read so that the leaf nodes E, F and G corresponding to thenode number reads the physical address LBA in the node table B. As aconsequence, the target leaf nodes E, F and G can be read from the CD-Rdisc so that the extent EXTx corresponding to the sequence key SQKdesignated at this time can be read. With this extent EXTx, the position(H, I and J) on the CD-R disc in the target data block line with thisextent EXTx.

For reference, FIG. 6 shows an example of a correspondence relationbetween the sequence number and the physical address LBA. These fourcorrespondence relations can be represented by one extent EXTxrepresented by the sequence number (123456781h), LBA (1000h), and thelength. Each control data constituting the B star tree is recorded onthe CD-R disc with the result that there arises a need of rewriting dataalong with the renewal of the content. Consequently, with respect to thedata block constituting the B star tree a correspondence table betweenthe logical address and the physical address LBA, the 32 bit-longlogical address which is called the B star tree is attached to controlthe correspondence table between the logical address and the physicaladdress as an arrangement table in which the logical address is used asa subscript.

FIG. 7 shows an example of a node table. It is possible to see from thisnode table that the B star tree of the node number "0" is recorded on aposition where the physical address LBA is located at a position of"30". Two data is attached in addition to the arrangement table of thenode table. In other words, the "number of entry" designates the numberof elements in the arrangement whereas "free" shows the head of the usedelements in the arrangement. The list of unused elements refers to thecontrol mechanism of the unused element in the arrangement. With themechanism, the reuse of the arrangement element can be simplified. Thecontent of the last unused elements contains the subscript of the nextunused element in place of the block address. In this example, table 2is placed at the head of the unused element list followed by thefollowing table 4 and table 1.

The node table is constituted so that a mechanism for controlling thenode table is omitted by recording the node table on a continuous areaon the CD-R disc. In the case where the B star tree is changed and theblock constituting the B star tree is rewritten, the renewed node tableis written on the CD-R disc. For example, when the maximum number of theblock number of the B star tree required for controlling one gigabyte-long data is controlled becomes 8095 blocs as shown in FIG. 8because each extent EXTx refers to one block and it is favorable toconsider that only a half of each node is used. Since four bytes arerequired in the arrangement table having the logical address as thesubscript, the size of the table will be 16 blocs as shown in thefollowing equation; ##EQU1##

In the case where one giga space is controlled, it can be seen that thecontinuous area required as a control table of the B star tree is 16blocs at most. In the CDRFS, a packet comprising 32 blocs is used as arecording unit for recording on the CD-R disc. The node table comprising16 blocs at most is housed in one packet. Consequently, in the CDRFSthis node table is housed together with other control information in thelast packet which is written in the CD-R disc at the time of the flashoperation which will be described later.

In this manner, in the CDRFS, the logical and physical address controlmechanism of the data block has a dual structure comprising the B startree and the node table. The reason for constituting such a dualstructure is that when only the logical and physical address controlmechanism by means of a simple arrangement is used like the node table,a large continuous area is required for the display. For example, whenthe case of the control of one giga space like the aforementionedexample is considered, 1024 blocs of continuous area is required asshown in the following equation;

    1×2.sup.20 kbyte/2 kbyte×4/2048 kbyte=1024 kbyte(2)

Furthermore, when an attempt is made to control one giga space only withthe B star tree, the node of the B star tree is referred to with thephysical address LBA with the result that the rewriting of the referenceaffects the node of other B star tree every time the node of the B startree is renewed. Consequently, in the CDRFS, the logical and physicaladdress control mechanism has a dual structure comprising the B startree and the node table.

Thus, in the sequence manager SQM, when the physical address LBM havingthe sequence recorded is determined from the searching method (B startree) described with respect to FIGS. 4 and 5, the physical address LBAis delivered to the cash manager CAM shown in FIG. 2 together with thesequence key SQK.

The cash manager CAM reads and writes data from the CD-R disc of thedata block corresponding to the designated physical address LBA via acash buffer which is called cash bloc. In other words, the designatedphysical address LBA and the sequence key SQK are delivered to rewritedata, the cash manager CAM judges whether or not the data blockrepresented by the designated physical address LBA is already present inthe cash buffer. Here, when a negative result is given, the cash managerCAM reads data from the block (cash bloc) in the cash buffer, and storesthe data in the block in the cash buffer so that the temporary physicaladdress (Temporary LBA) is allocated to the housed data bloc. In thismanner, the sequence manager SQM can access the data block without anawareness as to whether the position of the physical address is real ortemporary by controlling the address with the temporary physical address(Temporary LBA).

Furthermore, at this time, when the cash manager CAM memorizes thesequence key SQK (delivered from the sequence manager SQM) with respectto the data block to deliver the data pointer with respect to the cashblock having the block data housed and the temporary physical address tothe sequence manager SQM. The sequence manager SQM registers thecorrespondence relation between the temporary address (Temporary LBA)and the sequence key SQK in the B star tree.

At the same time, the data pointer of the cash block delivered from thecash manager CAM is delivered from the sequence manager SQM to the filemanager FLM so that the data designated by the user is renewed. The datablock which is rewritten in this manner is delivered to the cash managerCAM so that the block is controlled as a renewed block which is calleddirty block in the Write Cache Block which comprises a high speedmemory. At this time, the dirty block is either renewed or prepared inthe cache buffer and is not yet recorded in the CD-R disc. Consequentlywhen the dirty block reaches a predetermined number (32 blocs), thecache manager CAM writes the dirty block on the CD-R disc DISC via adevice driver as one packet.

In the case where the same data block is renewed with respect to thedata block again before the data is written on the CD-R disc by allowingthe dirty block to remain in the write cache block until one packetportion of the dirty block is detained, only the data in the cash buffer(namely, writing of a new physical address LBA) is rewritten so that therenewal of data on the CD-R disc can be avoided.

The aforementioned explanation is concerned with a processing forrewriting the data block which exits already on the CD-R disc. The filemanager FLM rewrites data while looking at only the temporary address bymeans of the temporary device manager IMM (FIG. 2). Consequently, evenwhen a write once type CD-R disc is used as a recording medium, the filemanager FLM can rewrite data in the temporary address space like anoperation with respect to the rewritable media.

On the other hand, in the case where data block is newly generated, thesequence manager SQM requests the cash manager CAM to generate a blockby delivering the sequence key SQM of the block which is to begenerated. The cache manager CAM allocates the block in the cache andallocates a temporary physical address (Temporary LBA) to deliver theaddress to the sequence manager SQM. At this time, the sequence key SQKdelivered to the cache manager CAM from the sequence manager SQM ismemorized in the control table of the cache buffer in the cache managerCAM and the sequence key SQK is used at the time of the writingoperation on the actual CD-R disc. The sequence manager registers thecorrespondence between the sequence key SQM of the block which is to begenerated and the physical address brought back from the cache managerCAM in the control structure comprising the B star tree.

Furthermore, on the other hand, in the case where the data block iserased, the sequence manager SQM determines the physical address of thedesignated sequence key from the B star tree to designate the ensure tothe cache manager CAM. The cache manager CAM performs no processing whenthe block of the physical address LBA does not exist in the cachebuffer. On the other hand, in the case where the block of the physicaladdress LBA exists in the cache buffer, the cache manager CAM nullifiesthe cache block (namely, the block in the cache buffer controlled by thecache manager CAM). Then, lastly, the sequence manager SQM erases theentry of the sequence key SQK to be erased from the B star tree tocomplete the erasure thereof.

Here, an operation of writing data of the write cache block on the CD-Rdisc is referred to as a "flash". Firstly, when the sequence manager SQMreceives the flash request from the file manager FLM, or secondly whenthe sequence manager SQM receives the writing request from the cachemanager CAM, the flash operation is carried out.

In the first case, when the flash request is made and the CD-R disc isinserted from the application, the system is completed and the externalfactor constitutes a trigger of the CDRFS. On the other hand, in thesecond case, an internal factor constitutes a trigger thereof. When thereusable block does not satisfy the least number required for ensuringthe operation, this is the case in which the operation of writing on theCD-R disc for ensuring the reliability in the CDRFS.

The case in which the number of reusable blocs in the cache does notsatisfy the least number required for ensuring the operation of theCDRFS refers to a case in which the reusable blocs sufficient forwriting, generating, renewing and eliminating of the sequence blockwhich is a basic operation of the sequence manager SQM are not securedin the cache bloc. Consequently, when sufficient reusable blocs are notsecured in the cache bloc, the reusable blocs are secured in the flashoperation. Incidentally, the reusable blocs are a general name of writecache blocs (referred to as read cache blocs) obtained by writing thedata of the write cache blocs on the CD-R disc and cache blocs (referredto as Free Cache Blocks) in which no effective data is stored.

Here, the number of reusable blocks which are required for the operationof the sequence manager SQM will be explained. In other words, when thesequence blocks are read, the target data blocks and the reusable blocksfor storing the B star tree control structure for examining the physicaladdress where these blocks are present are required in the cache buffer.These B star tree blocks are not referred to at the same time at thetime of the retrieval with the result that only one reusable block ispresent. Consequently, the maximum value RBCmax of the reusable blocksin the cache buffer required for the reading processing of the sequenceblocks will be represented in the following equation:

    RBCmax(N)=N+1                                              (3)

wherein N represents the number of data blocs which are to be originallyread.

At the time of the generation, renewal of the sequence blocs, unwrittenblocks are assigned in the cache buffer. In actuality, since thesequence manager SQM renews the B star trees, data blocks for storingthe node of the B star trees are generated and renewed so that thereusable blocs more than the number of the target blocks are required inthe cache buffer. In addition, there is a possibility that the data blocis generated along with the renewal of the B star tree at the time ofthe erasure work. In this case, the reusable blocs are required.

Furthermore, at the time of the generation of the sequence bloc, theextent EXTx is generated and is inserted into the B star tree. Whenthere is no allowance in the leaf node to which the extent EXTx isinserted, the leaf node is divided and one data bloc is generated for anew leaf node. Furthermore, when no allowance is generated in the indexnode to which the leaf node is inserted at the time of inserting intothe index node the generated leaf node for the division, a new leaf nodeis generated for dividing the index node. In the case where depth of theB star tree is 3, the total volume of data that can be controlled can berepresented in the following equation:

    170×170/2×145/2=2095250≈2 (Gbyte)      (4)

in the state in which all the nodes other than the route are written by1/2 in consideration of the least efficient state in which the number ofblocs which one extent EXTx is controlled is one. Consequently, in theCD-R disc when the volume is less than 700 megabytes, the route node ofthe B star tree having the depth of 3 is not divided, the number of datablocs which is generated along with the insertion of the first extentEXTx into the B star tree will be 2 at most.

Furthermore, since the index node immediately after the division isembedded up to 2/3 at most, it is required to newly insert 170/3 indicesat least to fill the index nodes. Furthermore, when the adjacent indexnodes are not filled, index nodes are moved to average the number ofrespective indices instead of division. Consequently, the least numberof times of the insertion of the index nodes into the B star tree whichis required from the generation of the division of the index nodes untilthe next division will be 170/3×2=113. Furthermore, in the case of theleaf nodes, the insertion of at least 145/3×2 extents EXTx is requiredfor generating the next division in the same manner. Thus the maximumvalue CBCmax of data block number generated by the call of one timeblock generation with respect to the sequence manager SQM will berepresented by the following equation:

    CBCmax(N)=N+2(N/96)/113+(N/96)                             (5)

wherein N represents the number of data blocs which are to be originallyrenewed.

On the other hand, in the case of the renewal of the data blocks, thework is the same as the case of the block generation except for the workof removing the extent EXTx. In other words, in the case where one partof the extent EXTx is removed by controlling the correspondence relationbetween the the sequence key SQK of a plurality of consecutive blocksand the physical address LBA, the number of the extent EXTx willsometimes increase by one extent. For example, when the extent EXTx asshown in FIG. 9(A) is present, this extent will be exchanged by twoextents as shown in FIG. 9(A) by removing the data block from the extentto renew the data blocks from the sequence keys "3" to "6". In thismanner, when one part of the extent which is already present is removed,another one surplus extent may be present. In consideration of thisfact, the maximum value MBCmax of the data block number generated by theone time call of the renewal of the blocks with respect to the sequencemanager will be represented by the following equation:

    MBCmax(N)=N+2+((N+1)/96)/113+((N+1)/96)                    (6)

wherein N represents the number of data blocs which are to be originallyrenewed.

Furthermore, in the elimination of the data blocks, there is apossibility that the leaf nodes are divided when one part of the extentis eliminated. Consequently, the maximum value DBCmax of the data blocknumber generated by the one time call of the elimination of the blockswith respect to the sequence manager SQM will be represented by thefollowing equation irrespective of the number of data blocks to beeliminated;

    DBCmax=2                                                   (7)

Furthermore, in the case where the data size to be treated in one timeoperation is not determined, it sometimes happen that a complicatedcalculation such as equations (3) through (7) is not sometimes required.For example, in the case of Windows 95 (trade name), when the allocationunit is read from the file system with [GetDiskInfo], an access can bemade to the file system in the allocation unit. Consequently, when it issupposed that the allocation unit is set, for example, to 32 blocks, thenumber of data blocs which should be operated at one time with thesequence manager will be less than one packet. Thus the block numberwill be represented by the following equation;

    DBCmax<CBCmax (32)=MBCmax (32)=34 (block)                  (8)

Before the operation of the sequence manager SQM, 34 reusable blocks maybe present in the cache buffer.

A flash operation for writing the data in the write cache block on theCD-R disc DISC will be explained. As shown in FIG. 10, the sequencemanager SQM requests the cache manager CAM to collect n packets of writecache blocks in the cache buffer. The number n of packets in this casedepends on the setting of the cache manager CAM.

The cache manager CAM prepares a list of blocks to be written on theCD-R disc DISC in accordance with a predetermined priority from amongthe write cache block in accordance with the request at step SP1 of FIG.10. This priority is determined by using a so-called LRU (Least RecentlyUsed) algorithm in which a priority is given to the block having lessaccess to the target block with the result that cache out block (to bewritten on the CD-R disc) is determined in the order of higher priority.Here, when a vacancy is generated in the packet, the cache manager CAMassigns a dummy bloc to the vacant area.

The cache manager CAM refers to the cache control table at step SP2 withrespect to the write cache block which is selected in this manner sothat the block list of the write cache blocks are arranged in order sothat the sequence key SQK is placed in order which corresponds to thewrite cache block. Then at the following step SP3, scheduled physicaladdress (Contact LBA) on the CD-R disc where each bloc is written fromthe block list is assigned like the write start physical address LBA andthe write start address LBA+1. This scheduled physical address (ContactLBA) will become an actual address (Real LBA) which is established onthe CD-R disc when the writing is normally completed. When the writingis failed, the aforementioned temporary physical address will beprovided.

Thus, at step SP3, a probability will become high that the bloc of thesame sequence will be arranged on the continuous area on the CD-R discby assigning the writing position to the order of the SQM in order withrespect to each write cache block. As a consequence, the bloc can becontinuously read from the CD-R disc at the time of reading with theresult that the reading performance will be heightened. At the sametime, an increase in the number of elements of B star tree can beprevented in which physical continuous bloc of the same sequence (files)are controlled with one extent EXTx.

Thus, when the scheduled physical address (Contact LBA) is assigned tothe write cache bloc at step SP3, the sequence manager SQM receives acorrespondence table of the sequence key SQK and the scheduled physicaladdress (Contact LBA) assigned from the cache manager CAM so that the Bstar tree is renewed at step SP4. In other words, at step SP4, thetemporary physical address (Temporary LBA) of the extent EXTx preparedby assigning the temporary physical address at the time of the datarenewal in advance is replaced with the scheduled physical address(Contact LBA; Temporary Actual address). The scheduled physical address(Contact LBA) is assigned with the sequence key SQK in order so thatsome extent EXTx is summarized by the execution of a plurality of suchrenewal thereby reducing the number of the extent EXTx of the B startree as a whole. As a consequence, in some cases, a part of the nodes(leaf nodes and intermediate nodes) which constitute the B star treewill be eliminated. Consequently, at step SP5, the sequence manager SQMjudges whether or not the number of blocks which constitute the B startree has been decreased or not. When an affirmative result is obtainedhere, this represents that write cache blocks having a low prioritywhich are not selected by the LRU (Least Recently Used) algorithm at theaforementioned step SP1 in place of the decreased block can be included.At this time, the sequence manager SQM returns to the aforementionedstep SP1 to repeat the selection of the write cache bloc again.

Thus, by repeating the processing at steps SP1 through SP5 a negativeresult will be obtained at step SP5. The cache manager CAM moves to stepSP6 to send the packet data comprising a plurality of blocs collected inthe write cache buffer to the CD-R disc via a device driver with theresult that the data is written on the CD-R disc in a new writing areain the packet unit.

Here, an writing error to the CD-R disc is generated, an affirmativeresult is obtained at the subsequent step SP7. At this time, thesequence manager SQM and the cache manager CAM moves to step SP8 toperform a physical restoration to the CD-R disc. In other words, in theCD-R disc device, it is stipulated in the specification that the data iswritten in the packet unit. It becomes necessary to embed the packetwith dummy data with respect to the packet in which a writing error isgenerated and the record data is interrupted.

Consequently, the sequence manager SQM and the cache manager CAMrestores incomplete packets with dummy data and record again data thatshould be recorded as the packet with the dummy data. At this time, thephysical address LBA of the data to be written is changed so that thesequence manager SQM and the cache CAM manager returns to theaforementioned step SP1 where the data of the unwritten write cacheblock is collected again and a new scheduled physical address (ContactLBA) is assigned to the new scheduled physical address (Contact LBA).Incidentally, with respect to the packet where the writing is completedbefore the error generation the data included in the packet is alreadychanged into a unrenewed data block called read cache block in the cachebuffer so that the data block does not become an object to berecollected by the write cache block after step S8. Consequently, everytime the packet writing is succeeded, the data scheduled to be written(write cache block) decreases so that all the data blocks will befinally written on the CD-R disc.

Thus, at step SP7, the cache manager CAM change the write cache bloccorresponding to the cache buffer into a read cache bloc with respect tothe packet in which a negative result is obtained (packet in whichwriting has been succeeded). At the following step SP10, the processingat steps SP6 through SP9 is repeated until the result having all thepacket written is obtained.

Here, FIG. 11 shows a recording state of the data onto the CD-R disc. Inthe multi-session packet recording method, a plurality of sessions(Session 1, Session 2, . . . ) are subsequently recorded from the innerperiphery to the external periphery on the CD-R disc in a spiral manner.On the inside of the recording area, a power calibration area (PCA) anda program memory area (PMA) are secured so that information for poweradjustment and control information in each session can be recorded.

Each session comprises a program area in which block data of thesequence (file) prepared and renewed by the user, and a lead-in area inwhich lead-in information representative of the start of the session andlead-out information representative of the end of the session isrecorded. Incidentally, the lead-in information and the lead-outinformation is to be recorded after one session portion of the file datais recorded in the program area. The information is intended to havecompatibility with the CD-ROM.

As shown in FIG. 11(B), the program area is further divided. In the caseof the 3 data track, the program area is divided into three tracks. Atthis time, the head of each track is provided with an index area (Index)and index information of the track is recorded on this part. Further, asshown in FIG. 11(C), the track comprises a collection of packet whichconstitutes a basic unit of data writing. As shown in FIG. 11(D), thispacket is divided into four parts, a link block, a run in block, a userdata block having user data such as file information or the like and arun out block.

Here, as data to be recorded on the program area shown in FIG. 11(A),information showing a data control structure is present in addition tothe bloc data (user data) of the sequence (file) prepared by the user.As this information, there is available a primary volume descriptor(PVD), a super block, a node table, a B star tree index node, a sequenceB star tree index node, and a sequence B star tree leaf node.Incidentally, all the data control structure excluding the node tablehas a size of one block (2048 bytes) and is recorded in the blockboundary. Furthermore, the node table is a variable length datastructure having a size of one block or more and the head of the nodetable starts from the block boundary.

The primary volume descriptor PVD is information which is recorded onthe 16th block from the head of the session. At the head 1152 bytes ofthe 16th block, one which is the same as the 1S09660 PVD is recorded andinformation peculiar to CDRFS shown in FIG. 11 is contained. In the PVDof FIG. 12, the Super Block Search Method shows a position where themost recent super block is stored. In other words, the super block isconstituted so as to be written on the CD-R disc every time the flashall operation is performed. With the Super Block Search Method of thePVD, the latest position can be detected.

For example, in the case of "Search Method=0", it is shown that thesuper block is recorded on the block represented by the "Super BlockLBA". Furthermore, in the case of the Search Method 1, it is shown thatthe super block is represented in the "Last Accessible Block".Furthermore, in the case of the "Search Method=2", it is shown that the"Super Block Serial Number" is recorded at the maximum position out ofthe super blocks recorded on the Super Block Area. Incidentally, "SuperBlock Area" refers to the total blocks sandwiched between the blockrepresented by the Start LBA of Super Block Area and a block representedby the End LBA of Super Block Area.

Furthermore, when the "File System Flag" shown in the PVD of FIG. 12 is0×0001, it is shown that "Addressing Method 11" is used. Furthermore,when "the File System Flag" shown in the PVD of FIG. 12 is 0×0002, it isshown that the "ISO9660 Volume" is hidden so as not to be seen from theCDRFS. Furthermore when the "File System Flag" shown in the PVD of FIG.12 is "0×0003", it is shown that the first track of the session isrecorded with TAO (Track At Once) or a variable length packet.

Furthermore, the Packet Size shown in the PVD of FIG. 12 shows the blocknumber of the user data in the fixed length packet. However, this fieldis effective only when the "Addressing Method II" is used.

Furthermore, the "Volume Capacity" shown in the PVD of FIG. 12 shows thetotal number of blocks which can be recorded on the CD-R disc after theformat. Incidentally, this value is a reference value which is used atthe time of returning the information on the total volume of the CD-Rdisc with respect to the operation system.

Furthermore, FIG. 13 shows a structure of the super block. For example,information representing that the block is a super block is recorded onthe first "Super Block Header". In the case of the "Search Method=1"when the Super Block is not recorded on the "Least Accessible Block", anold "Super Block" is searched on the basis of this Super Block Header.

Furthermore, the "Super Block Flags" represents whether or not dataeffective for the session is recorded or not. "Node Table LBA" shows theblock in which the node table is recorded. When the size of the nodetable is two blocks or more, "Node Table LBA" is sequentially recordedfrom the block represented by the Node Table LBA. Furthermore, the"Previous Super Block" shows the position of the Super Block which hasbeen previously recorded. In the case of the CD-R disc, the data whichhas been previously recorded will not be lost from the disc.Consequently, it is possible to know the state of the past volume bykeeping track of the "Previous Super Block".

The "Sequence B star tree Root Node Number" shows the node number of thecontrol structure (Sequence S Star Tree) comprising the aforementioned BStar Tree with respect to FIG. 5. In addition, the "Directory B StarTree Root Node Number" shows the node number of the node of theDirectory B Star Tree controlled by the File Manager FLM. The "SerialNumber" refers to a sequential number of the super block. Incidentally,the "Serial Number" of the super block generated at the time of theformat is "0".

Furthermore, the "Super Block List" is a table in which 50 PreviousSuper Blocks LBA" are collected in the past. The "Super Block List"comprises a repetition of Super Block List Entry as shown in FIG. 14.The first entry of the Super Block List shows the super block one blockbefore the super block in which the Super Block List is housed. When thenumber of the past Super Block is less than 50, the entry is filled fromthe bead thereof and the unused entry is filled with "0".

The "Super Block Tag List" is a table of the name label of the pastsuper block. The "Super Block Tag List" comprises a repetition of a tagentry as shown in FIG. 15. In this CDRFS, 24 tags at most can beattached to one CD-R disc. At this time, when the tag is less than 24,the entry is filled from the head and the unused entry is filled with"0".

Furthermore, the Node Table refers to a correspondence table between thenode number of each node of the control table (Sequence B Star Tree)comprising the B Star Tree) and the physical address thereof asdescribed above in FIG. 5. The Node Table has a structure as shown inFIG. 16. This Node Table is recorded sequentially from the head of thedata block. When the Node Table cannot be housed in one data block, asequel to the next data block is recorded.

Furthermore, the index node is a node other than the leaf node of thecontrol structure comprising the B Star Tree. Information shown in FIG.17 is recorded in the index node. The "Number of Record" shown in FIG.17 shows the number of index records housed in the leaf node.Incidentally, this index record has a structure shown in FIG. 18, andthe index record is sorted in the ascending order of the key and isfilled from the "Index Record [0]" in order to be recorded.

In addition, the sequence B Star Tree Leaf Node refers to the node ofthe B Star Tree for housing the correspondence relation between thesequence key SQM and the physical address LBA, and the Sequence B StarTree Leaf Node has a structure as shown in FIG. 19. The extent EXTx inthis leaf node has a structure shown in FIG. 20, and is sorted in anascending order to be filled from the Extent Record [0] to be recorded.Incidentally, the number of the extents EXTx in the node is recorded inthe Number of Records.

Furthermore, the Directory B Star Tree Leaf Node h is the node of the BStar Tree for housing the file name, the sequence key SQK, acorrespondence relation between the directory name and the directorynumber, and attribute information of the file and the directory, and hasa structure shown in FIG. 21. In the "Node Number" in this leaf node,the "Node Number" of the leaf node added with [0×80000000] is housed.The "Number of Records" shows the number of directory records housed inthis leaf node. "Previous Node Number" and "Next Node Number" show theNode Number of the leaf node having the least key and the leaf nodehaving the largest key. When no target node exists, [0×ffffffff] isrecorded. In the Total Size of Record, the total byte number of theIndex Records Offset and the directory record is recorded.

The Directory Record Area is used as shown in FIG. 22. "PosX" isreferred to as "Index Record Offset", and shows the position where thedirectory record is recorded is shown with the byte offset from the headof the directory record area. Incidentally, this "PosX" is one byte.Incidentally, the PosX is sorted in the order of the key held by thedirectory record shown by the PosX. The PosX is filled from the head andis recorded.

"RecX" is a main body of the directory record. The position is notparticularly limited. However, when the algorithm adopted in the CDRFSis used, the directory record which has been recently prepared as aresult of the processing is housed at a position most adjacent to thehead of the directory area. When the value housed in the "Number ofRecords" is set to "Nrj", an area between "PosNr-1" and "PosNr-2" is anunused area. This area is used for the renewal and the preparation ofthe directory record. Incidentally, the unused area is used from thehead, and the unused area is from the rear in "RecX".

The directory record refers to the correspondence relation between thefile name, the sequence key SQK, the directory name and the directorynumber, and a variable length data for housing the attribute informationof the file and the directory. The directory record has a structureshown in FIG. 23. Incidentally, the directory record is recorded on thedirectory record area described above. The key in the directory recordis assigned to the directory record, and the key is constituted as shownin FIG. 4.

In FIG. 24, the directory number is a number peculiarly attached to eachof the directory. All the directory in the same directory has the samedirectory number. "Hashed Key" refers to a residual obtained when thename of the directory record is divided by the generating function shownby the following equation;

    P(x)=X.sup.16 +X.sup.12 +X.sup.5 +1                        (9)

This "Hashed Key" becomes the same value with respect to the differentname. To avoid this, "Sequential Number" is used in the CDRFS. In thecase where the directory record having an equal directory number and anequal "Hashed Key" despite the name different from the directory recordwhich is to be inserted already exists in the B Star Tree, the CDRFSsets to the Sequential Number of the directory record a number obtainedby adding 1 to the "Sequential Number" of the directory record which isalready present in the B Star Tree.

Furthermore, the size shows a byte number of the directory recordincluding the key and the size itself. Furthermore, the type is a fieldfor showing the type of the directory record. There are five kinds asshown in FIG. 25. Furthermore, apart from this, it is shown that whenthe bit 7 of the type is erected, the directory record is referred tofrom one or more Hard Link Directory Record.

Incidentally, structures of the File Directory Record, the DirectoryRecord and the Link Directory Record are shown in FIGS. 26 through 28.

Data (control information) comprising such B Star Tree is written in theuser data area (FIG. 11) together with the file data (user data) at thetime of writing operation called flash all. In other words, the superblock contains the physical address LBA of the block housing the nodetable, and the route node number of the control structure (FIG. 5)comprising the B Star Tree, and is constituted so that the link to allthe data on the CD-R disc excluding the PVD begins with the super blockuntil reaching the file content from the control information.Furthermore, as described above with respect to FIG. 5, the node tableis required to refer to the node of the control structure comprising theB Star Tree. Consequently, the Super Block constituting such controlstructure is written at the time of the flash all operation to the lastblock one block before the next time writing position of the user area.The timing at which the flash all is carried out is when thepredetermined time which is set has elapsed, and more than thepredetermined amount of data is written on the CD-R disc. As aconsequence, control information (super block) is written on the CD-Rdisc in a predetermined interval.

FIG. 29 shows an operation procedure of the flash all. The sequencemanager SQM and the cache manager CAM enters into the processingprocedure from step SP20. At step SP21, a list is prepared in the samemanner as the case of the flash operation described above in FIG. 10with respect to the write cache block in the case buffer. In otherwords, the sequence manager SQM demands the cache manager CAM to collectall the write cache blocks in the cache buffer. After the cache managerCAM prepares a list of all the unwritten cache blocks and dummy blocksas required, the cache control table is referred to arrange so that thesequence key SQK is put in an ascending order. The scheduled physicaladdress (Contact LBA) is assigned in an order such as the physicaladdress LBA with which the writing is started from the head bloc of thelist thus arranged, and the physical address LBA+1 with which thewriting begins.

The sequence manager SQM renews the B Star Tree on the basis of thesequence key SQK and the physical address. The processing up this stepis repeated until the block elimination is generated by the renewal ofthe B Star Tree. Next, at step SP22, the sequence manager SQM demandsthe cache manager CAM to generate the data block for housing the nodeblock and the super block in the same procedure as the normal blockgeneration. As a consequence, the cache manager CAM generates the superblock and the block for the node table in the cache buffer.

Here, for the generation of the block of the node table,"ffffffff00000000 (hex)", "ffffffff00000001(hex)" . . . are delivered,and for the generation of the super block, "ffffffffffffffff(hex)" isdelivered as the sequence key SQM. In this manner, by attaching thesequence key SQK the node table, the node table is arranged in acontinuous area at the time of the block arrangement operation, and thesuper block is arranged in the last block of the last packet.

Subsequently, the cache manager CAM prepares a list again with respectto the write cache block at step SP23. In other words, the sequencemanager SQM demands the cache manager CAM to collect all the write cacheblocks in the cache buffer. When there is a data block which is not sentbefore, the data block is collected again. After a series of processingis performed as usual such as the preparation of the block list by thecache manager, the determination of the physical address LBA and therenewal of the B Star Tree by the cache manager CAM, each content isfilled in the super block and the block for the node table at step SP24.

After this, the data is actually recorded in the packet unit afterpreceding to the step SP25. After the data is all written, the processproceeds to step SP30 thereby ending the flash all operation.Incidentally, since steps SP25 through SP29 are the same as steps SP6through SP10, explanation thereof is omitted.

In this manner, in the flash all operation, the largest value such as[ffffffffffffffff(hex)] is assigned to the super blocks as the sequencekey. On the other hand, such large and continuous values as[ffffffff00000000(hex)],[ffffffff00000001(hex)] and . . . are assignedto the node table as the sequence key. Furthermore, continuous valuessuch as [fffffffe00000000(hex)], [fffffffe00000001(hex)] and . . .apparently different from the node table are assigned to the leaf nodeas the sequence key SQM.

These values are extremely large compared with the sequence key SQM[0000000500000000(hex)], [0000000500000002 (hex), . . . ) which areassigned to the block data (user data) constituting a sequence (file)other than the super block, the node table and the leaf node.Consequently, when the flash operation is carried out with the sequenceblock assigned in this manner, the user data and the control information(super block, node table and the leaf node) is block sorted (rearranged)so that the sequence key SQK is arranged in an ascending order. Thus,the user data and the control information is sequentially recorded onthe CD-R disc in the sorting order. As a consequence, controlinformation such as super block, the node table, the leaf node and thelike to which large sequence key SQM is assigned are written on the lastblock of the last packet.

In this manner, a reference relation is established only in a directionfrom the block which is written on the CD-R disc later toward the blockwhich is written on the CD-R disc earlier. Consequently, as shown inFIG. 30(A), when an attempt is made to write data in the packet unitsequentially from the left (the CD-R disc on the inner circumference) tothe right (CD-R disc on the outer circumference), a reference relationis established only in one direction so that the packet data b (forexample, the super block) which are about to be written on a newunwritten area refers to the packet data a (for example, node table)which is written on the forward part of the physical address. As aconsequence, in the case where the packet data b is failed to be writtenas shown in FIG. 30(B), only the packet data b which has failed to bewritten may be rewritten as shown in FIG. 30(C). As a consequence, inthe case where it is so constituted that the forward packet data arefers to the backward packet data b, a rewriting operation can beeasily performed at the time of error occurrence as compared with thecase in which it is necessary to rewrite the physical addressinformation of the backward packet data b in the forward packet data ain accordance with the change in the writing position of the backwardpacket data b (to write the forward packet data a in a new unwrittenarea together with the backward packet data b in the case of the CD-R).

Furthermore, in the CDRFS, the flash operation is carried out withoutfail at the time of taking out the CD-R disc from the CD-R driver 5 sothat the super block is written on the last packet. Consequently, whenthe CD-R disc is inserted into the CD-R drive again, the CDRFS retriesthe super block from the outermost circumference. On the basis of thecontrol information of the super block described above with respect toFIG. 5, data written on the forward part (inner circumference side) ofthe super block is referred to. At this time, when the super block isfailed to be written on the last packet, the CDRFS searches a superblock one block before toward the inner circumference sequentially fromthe super block. In this case, it becomes difficult to access the userdata which is written on the super block after the super block one blockbefore. Consequently, with the CDRFS of the invention, the flash alloperation at the time of writing data on the CD-R disc is carried outwhen a predetermined time has elapsed and an amount of data whichexceeds the predetermined amount is written from the cache manager CAMto the CD-R disc. As a result, the super block is written on the CD-Rdisc relatively frequently with the result that even in the case wherethe super block which should exist on the last packet fails to bewritten on the last packet, it becomes possible to avoid the loss of alarge amount of user data by reading the super bloc one bloc beforewhich is written relatively near to the target super bloc.

Here, as described with respect to FIG. 11, when the CD-R disc havingdata written in the CDRFS format is read with the CD-R disc drive, it isnecessary to write lead-in information and lead-out information beforeand after each session. This operation is referred to as freeze. Tocarry out this freeze operation, a predetermined space capacity isrequired on the CD-R disc to carry out this freeze operation. When thiscapacity cannot be secured, it becomes difficult to write the lead-outinformation. When the CD-R disc is read with the CD-ROM drive, the disccan be read until the session where the previous lead out is recordedwith certitude.

Consequently, in the CDRFS, the capacity of the unused area of the CD-Rdisc is monitored. In other words, the vacant capacity Nfa required forthe flash all operation is represented by the following equation inconsideration of the bloc for the super bloc;

    Nfa={(Nd+Nn+1+31)/32}×(32+7)                         (10)

wherein Nd represents the number of unwritten data blocks in the cachebuffer and Nn represents the number of blocks of the node table.

With respect to the freeze, an area for the lead in information issecured at the time when the writing to the session is started, only thecapacity of the lead out information may be monitored. The vacantcapacity required for the freeze is 1.5×60×75=6750 blocks from theCD-ROM specification when the session is one. The vacant capacity is30×75 blocks when the session is the second and after. Consequently, theminimum value Nfree of the vacant capacity that should be secured on theCD-R disc is represented by the following equations;

    Nfree=Nfa+6750 (1st Session)                               (11)

    Nfree=Nfa+2250 (Nth Session, Nth≧2nd)               (12)

Incidentally, the error occurrence is not considered in this figure. Forexample, when it is thought that e times of writing error is generatedwith respect to the writing of the n packet, the probability of thewriting error Pe will be represented by the following equation;

    Pe=n/e                                                     (13)

Here, since one packet is superfluously consumed with respect to onetime writing error, a correction of the vacant capacity Nfa inconsideration of the writing error is added, the equations (11) and (12)are converted into the following equations;

    Nfree=Nfa(1+Pe)+6750 (1st Session)                         (14)

    Nfree=Nfa(1+Pe)+2250 (Nth Session, Nth≧2nd)         (15)

Thus when a vacant capacity of more than Nfree blocks is secured on theCD-R disc after the preparation and the erasure operation of thesequence blocks, it is possible to carry out the freeze operation.

In the CDRFS, the maximum number of the write cache block number in thecache buffer which is newly generated with one time call with respect tothe sequence manager will be MBCmax (Nmax) as described above withrespect to the equation (6). In the case where a recording medium suchas a CD-R disc or the like having a vacant capacity of Nfree+MBCmax(Nmax) block numbers is inserted into the driver, a warning is given tothe user on the lack in the capacity of the recording medium to inhibitthe writing of data on the recording medium such as the preparation, therenewal and the erasure of the sequence blocks. With this the CDRFSensures the freeze operation.

However, the service provided by the CDRFS for accessing to the file isconstituted of the multiple frequency operations to the sequence blocks.When writing is inhibited to the recording medium at the time of thetermination of the operation to the sequence block, there is apossibility that the integrity as the file system is lost. Consequently,writing inhibition operation to the recording medium (CD-R disc) will becarried out at the end of the request for the operation from theoperating system OS to the CDRFS. At this time, when the frequency ofthe preparation, renewal and the erasure operation of the sequence blockwhich is carried out by the one time operation request to the CDRFS fromthe operating system OS is represented by Ncb, the condition of thevacant capacity of writing inhibition to the recording medium is lessthan a value represented by the following equation;

    Nfree=MBCmax(Nmax)×Ncb                               (16)

In the aforementioned monitoring method, a capacity is secured forwriting on the CD-R disc lastly lead-out information for having acompatibility with the CD-R disc. The dirty block portion in addition tothe capacity for the lead-out may be monitored together. In other words,such monitoring operation is carried out every time data is written onthe CD-R disc in accordance with the procedure of the monitoringprocessing shown in FIG. 31. In other words, the CDRFS enters into themonitoring processing procedure from step SP40 shown in FIG. 31 toconfirm the residual capacity on the CD-R disc at step SP41. In otherwords, the whole recordable capacity is recorded on the CD-R disc in theprocess of the CD-R disc manufacture. Consequently, the CD-R driver 5determines the whole recordable capacity from the target CD-R disc andthe recordable residual capacity from the last physical position whichis currently recorded. The recordable residual capacity which has beendetermined is delivered to the cache manager CAM at step SP42. The cachemanager CAM subtracts data amount to be written in the cache buffer fromthe recordable residual capacity to deliver the residual capacity to thesequence manager SQM. At step SP43, the sequence manager SQM subtractthe super block of the B Star Tree Control Structure (SVD) and thewriting amount of the node table from the residual capacity deliveredfrom the cache manager CAM, and delivers the residual capacity to thefile manager FLM. At step SP44, the file manager FLM subtracts a marginportion required for recording the lead out information or the like fromthe residual capacity delivered from the sequence manager SQM.

In the case where the residual capacity calculated in this manner islarger than 0, the CDRFS judges that the data can be written to move tothe step SP46 to continue the processing. On the other hand, when anegative answer is obtained at step SP45. This represents that there isno space for writing on the CD-R disc data which is to be processed. Atthis time, the CDRFS moves to step SP47 to display a predeterminedwarning to the user. Thus, every time the flash operation and the flashall operation are carried out on the CD-R disc, the residual capacity onthe disc after the execution is confirmed. In the case where it isjudged that there is no space in the writing amount in the processingafter that, it is possible to prevent in advance the continuation of theprocessing after that with the CD-R disc having no space to writeinserted into the CD-R driver 5.

Furthermore, in the CDRFS using the CD-R disc the CD-R disc is pretendedto be a rewritable disc. In the case of the CD-R disc, a new area isused is used in every renewal work so that the usable residual capacityof the CD-R disc will decrease. Consequently the usable residualcapacity will be monitored every time new data is written. This residualcapacity includes the super block and the node table which constitute anelement of the B Star Tree control structure and lead out informationhaving a compatibility with the CD-ROM in addition to the dirty block inthe cache buffer. It is ensured that the data can be recorded with acompatibility held with the CD-ROM on the CD-R disc with certitudewithout losing the data during preparation and renewal on the imaginaryspace by monitoring the residual capacity in which these items ofinformation can be recorded.

In the aforementioned structure, the CDRFS controls the physical addressLBA on the CD-R disc in correspondence to the sequence key SQK whichconstitute a logical address in the imaginary address. Consequently,after the block data on the CD-R disc in which the renewal is designatedis read in the cache buffer and the data is renewed, the sequence keySQM is not changed, and only the physical address is changed, the blockdata is written at the position of the physical address LBA on the CD-Rdisc at a predetermined timing (at the time of the flash and the flashall operation).

At this time, the file manager FLM uses the logical address on theimaginary address to carry out the renewal, preparation and erasure ofthe data with the result that even when the media to be used is a writeonce disc, it is possible to carry out the processing in the same manneras if the target disc is a conventional rewritable disc withoutrecognizing that the disc is the write once disc. In this manner, theprocessing function of the file manager FLM can be a module which is notaffected by the recording medium so that the control of the file and thedirectory can be carried out without being affected by the specialrecording processing of the write once disc.

Furthermore, as described with respect to FIG. 3, a plurality ofimaginary address spaces CV1, CV2 and CD3 are assigned to respectivefiles (sequences) so that one imaginary address space is allowed tocorrespond to one file. As a consequence, the imaginary address spacebecomes a file itself so that no work is required for converting thefile into the logical address. Incidentally, FIG. 32 shows a case inwhich the imaginary address AV is converted into a physical address AVon the recording medium by the sequence processing block C 2. In such amethod, the imaginary address is not divided for each file so that workis required for converting files into logical addresses as compared withthe case of FIG. 3. Consequently, in accordance with the invention, itwas possible to construct a file system (CDRFS) corresponding to thewrite once type without deteriorating an access performance comparedwith the writable media or the like by assigning an imaginary addressspace for each data shown in FIG. 3.

With the aforementioned structure, it is possible to treat the CD-R discwhich is a write once disc recording medium by allowing the renewed datablock newly written on the physical address LBA of the CD-R disc to looklike a data block which is present in the address before the renewal byusing the CDRFS having an exchange processing function of the address.

Furthermore, it is possible to rewrite the data without affecting otherpackets even if the writing is failed by limiting the reference relationto one direction so that the packet which is written later refers to thepacket which is previously written.

Furthermore, in the case where the packet is generated by collecting thedirty block in the cache buffer, the dirty block is collected inaccordance with the priority based on the LRU algorithm so that thescheduled physical address (contact LBA) is assigned by arranging thesequence key SQM so that each sequence key SQK is put in an ascendingorder with respect to the collected dirty block with the result thatwhen the target dirty block is written on the CD-R disc, the probabilitywill be heightened that the sequence is arranged in the continuous areathereby making it possible to attempt to improve the readingperformance.

Furthermore, it is possible to ensure that the data can be recorded onthe CD-R disc which is being prepared by the user by monitoring theusable residual capacity of the CD-R disc.

Incidentally, a description is given with respect to the case in whichthe CD-R disc is used as a write once type recording medium, but theinvention is not limited thereto. Other write once type recording mediummay be used.

Furthermore, in the aforementioned embodiment, a warning is issued whenthere is no allowance in the residual capacity at the time of monitoringthe usable residual capacity of the CD-R disc. However, the invention isnot limited thereto. Data which has been processed may be recorded withcertitude on the CD-R disc by carrying out the flash all operation andthe freeze operation at the timing of issuing the warning.

Furthermore, in the aforementioned embodiment, a description will begiven to a case in which data writing is carried out with respect to oneCD-R disc with the CDRFS. The invention is not limited thereto. Forexample, a plurality of recording media may be set to provide a multipledevices to control a plurality of media with one CDRFS. As a result, forexample, a changer for controlling a plurality of media and a juke orthe like for controlling a plurality of drives can be easily controlledwith one file system.

Industrial Applicability

The present invention provides a system for processing information andrecording the information on a recording medium, the system being ableto be used in an information processor using a write once disc.

We claim:
 1. An information processor comprising:file information tablegenerating means for generating a plurality of file information tablesfor housing a plurality of correspondence information items showing acorrespondence relation between key information for designating eachfile data and the physical position thereof on a medium of file datadesignated by the key information; index table generating means forgenerating an index table showing a file information table housing eachof the key information out of the plurality of file information tables;control table generating means for generating a control table showing aphysical recording position on the medium of the index table and theplurality of the file information tables; memory means for temporarilyrecording the file information tables, the index table and the controltable; recording means for recording on the medium the file data, thefile information tables, the index table and the control table; controlmeans for housing key information of the file data in either one of thefile information tables in the memory, updating the housed fileinformation tables and the control table in the memory, and allowing therecording means to record file data on the medium to record at a newrecording position of the medium the updated file information tables andthe updated control table at the time of recording the file data on themedium.
 2. An information processor according to claim 1 wherein when anew file information table is generated in the memory by the fileinformation table generating means at the time of recording the filedata on the medium,the control means houses the key information of thefile data on the new file information table, updates the housed fileinformation tables, the control table, and the index table in thememory, allows the file data to be recorded on the medium by therecording means, and allows the updated file information table, theupdated control table, and the updated index table to be recorded at anew recording position of the medium.
 3. An information processoraccording to claim 1 wherein the control means houses the keyinformation of the file data in one of the file information tables sothat a number of the correspondence information items housed in each ofthe plurality of tables corresponding to the file information becomesapproximately equal.
 4. An information processor according to claim 1wherein the control means houses or searches the key information of thefile data in one of the file information tables with an algorithm of a Bstar tree.
 5. An information processor according to claim 1 wherein thekey information is a sequence number and a block number uniquelyattached to the file data.
 6. An information processor according toclaim 1 wherein the medium is a write once type recording medium.
 7. Aninformation processor according to claim 5 wherein the control meansarranges the sequence number in an ascending order in the memory,sequentially allocates the address of the physical position on themedium in the arranged order, and updates in the memory the housed fileinformation and the control table when a plurality of sequence numberswhich are the key information items are present.
 8. An informationprocessor according to claim 1 wherein the control means controls therecording means so that the updated file information tables and theupdated control table are recorded at a new position of the medium afterthe file table is recorded on the medium.
 9. An information processoraccording to claim 1 wherein when the recording means fails in recordingthe file data on the medium,the control means houses in one of the fileinformation tables the key information of the file data which has failedto be recorded, updates the housed file information tables and thecontrol table in the memory, allows the recording means to record thefile data which has failed to be recorded, and records the updated fileinformation tables and the updated control table at a new position ofthe medium.
 10. A method of information processing comprising the stepsof:generating a plurality of file information tables for housing aplurality of correspondence information items showing a correspondencerelation between key information for designating each file data and thephysical position thereof on a medium of file data designated by the keyinformation, generating an index table showing a file information tablehousing each of the key information out of the plurality of fileinformation tables, generating a table showing a physical recordingposition on the medium of the index table and the plurality of the fileinformation table, temporarily recording the file information table, theindex table and the control table in a memory, recording on the mediumthe file data, and housing the key information of the file data in oneof the file information tables in the memory at the time of recordingthe file data on the medium, updating the housed file information tablesand the control table in the memory, and recording at a new recordingposition of the medium the updated file information tables and theupdated control table.